1. Field of the Invention
The present invention generally relates to data processing and more particularly to debugging code.
2. Description of the Related Art
A programmer develops a software program by producing and entering source code into files using a text editor program. The computer then creates an executable program by translating the source code into machine code. The machine code is the rudimentary instructions understood by a computer. Illustratively, the foregoing software development process is accomplished by running a series of programs. These programs typically include a compiler for translating the source code into machine code and a linker to link the machine code together to form a program.
When developing computer software, it is necessary to perform a function termed “debugging”. Debugging involves testing and evaluating the software to find and correct any errors and improper logic operation. An effective debugger program is necessary for rapid and efficient development of software and typically provides functions including breakpoints, run-to-cursor, step into, step over and the like.
One type of a breakpoint is a conditional breakpoint, which is configured to stop execution of the debugging program (i.e., the breakpoint fires) when the conditional breakpoint is encountered and when its related condition is true. A conditional breakpoint therefore does not fire if the related condition remains false. If a conditional breakpoint does not fire, a user is left to guess as to whether the debugging program missed the conditional breakpoint (i.e., whether the conditional breakpoint is ever encountered by the program) or whether the condition is still false. Often times, because the user believes that the condition had to be true, the user mistakenly assumes that the program must have missed the conditional breakpoint, i.e., the conditional breakpoint was never encountered.
A need therefore exists for a method and article of manufacture and system for determining whether a conditional breakpoint was encountered during a debug run/execution.